package pe.gob.sunarp.publicidad.repositorio;

import java.util.List;

import pe.gob.sunarp.entidad.OficRegistral;
import pe.gob.sunarp.entidad.RegisPublico;
import pe.gob.sunarp.entidad.TmDocIden;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.ActosBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.DetalleBusquedaTituloBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.OficinaRegistralBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.ParticipantePJBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.ParticipantePNBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.PartidasBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.SolicitudBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.TituloNumeroBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.TituloParticipantePJBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.TituloParticipantePNBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.TituloPresentantePJBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.TituloPresentatePNBean;
import pe.gob.sunarp.extranet.publicidadSimple.estadoTitulo.TmDetalleTituloBean;


public interface TituloRepositorio {

	// public Titulo buscarPorNumero();

	public List<OficRegistral> buscarOficinas();

	public List<TmDocIden> buscarDocumentoPN();

	public List<TmDocIden> buscarDocumentoPJ();

	public List<TituloNumeroBean> buscarPorNumero(String ptitulo, String pano,
			String pzona);

	public List<TituloNumeroBean> buscarPorNumeroRMC(String ptitulo, String pano);

	public List<ActosBean> buscarActosXTitulo(String ptitulo, String pano,
			String pzona, String poficina);

	public List<ActosBean> buscarActosXTituloRMC(String ptitulo, String pano);

	public List<PartidasBean> buscarPartidaXtitulo(String ptitulo, String pano,
			String pzona, String poficina,String area);

	public List<PartidasBean> buscarPartidaXtituloRMC(String ptitulo,
			String pano);

	public List<RegisPublico> buscarZonas();

	public List<TituloPresentatePNBean> buscarTituloPresentantePN(
			String apePat, String apeMat, String nombres, String zona);

	public List<TituloPresentatePNBean> buscarTituloPresentanteDocPN(
			String tipoDoc, String numeroDoc, String zona);

	public List<TituloPresentantePJBean> buscarTituloPresentanteRZ(
			String razonSocial, String zona);

	public List<TituloPresentantePJBean> buscarTituloPresentanteSG(
			String siglas, String zona);

	public List<TituloPresentantePJBean> buscarTituloPresentanteDocPJ(
			String tipDoc, String numDoc, String zona);

	public List<ParticipantePNBean> buscarParticipantePNXTitulo(String titulo,
			String ano, String zona, String oficina);

	public List<ParticipantePJBean> buscarParticipantePJXTitulo(String titulo,
			String ano, String zona, String oficina);

	public List<TituloParticipantePNBean> buscarParticipantePN(String apePat,
			String apeMat, String nombres, String zona);

	List<TituloParticipantePNBean> buscarParticipanteDocPN(String tipDoc,
			String numDoc, String zona);

	public List<TituloParticipantePJBean> buscarParticipanteRzPJ(
			String razonSocial, String zona);

	public List<TituloParticipantePJBean> buscarParticipanteSgPJ(String siglas,
			String zona);

	public List<TituloParticipantePJBean> buscarParticipanteDocPJ(
			String tipDoc, String numDoc, String zona);

	// danny

	public List<ActosBean> buscarActos(String ptitulo, String pano,
			String pzona, String poficina);

	public List<DetalleBusquedaTituloBean> buscarDetalleTitulo(String ptitulo,
			String pano, String pzona, String poficina, String parea) ;
	
	public List<DetalleBusquedaTituloBean> buscarDetalleTituloRMC(String ptitulo,
			String pano,  String parea) ;	
	
	public List<TmDetalleTituloBean> estadoAnterior(long refTitu, long nsDetalle);
	
	
	//Euclides para el caso de uso estado de titulos sin acceso
    public long countmaxDetalle(long refTitu);
	
	public long maxDetalle(long refTitu);
	
	public String buscarRazSocReservada(long refnum);
	
	public List<PartidasBean> buscarPartidaXtitulo_Mensaje(String ptitulo, String pano,
			String pzona, String poficina,String pcodarea);
	
	public List<ParticipantePNBean> buscarParticipantePNXTitulo(String titulo,
			String ano, String zona, String oficina,String area);
	
	public List<ParticipantePNBean> buscarParticipantePNXTituloRMC(String titulo,
			String ano,String area);
	
	public List<ParticipantePJBean> buscarParticipantePJXTituloRMC(String titulo,
			String ano,String area);
	
	public List<ParticipantePJBean> buscarParticipantePJXTitulo(String titulo,
			String ano, String zona, String oficina,String area);
	
	public List<OficinaRegistralBean> listaOficinaReg();
	
	public List<DetalleBusquedaTituloBean> buscarDetalleTitulo_Libre(String ptitulo,
			String pano, String pzona, String poficina);
	
	public List<DetalleBusquedaTituloBean> buscarDetalleTitulo_LibreRMC(
			String ptitulo, String pano);
	//fin euclides
	//solicitudes euclides
	public List<SolicitudBean> buscarSolicitudes(long numeroSolicitud);
	//fin de solicitudes
}// fin
